﻿using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;

namespace Sheep_Breeding.Write.Api.DTOSheep
{
    /// <summary>
    /// 羊场管理新增Dto
    /// </summary>
    public class CreateSheepfarmDto
    {
        /// <summary>
        /// 羊场编码
        /// </summary>

        public string? FarmCode { get; set; }

        /// <summary>
        /// 羊场全称
        /// </summary>

        public string? FarmName { get; set; }

        /// <summary>
        /// 羊场简称
        /// </summary>

        public string? FarmShortName { get; set; }

        /// <summary>
        /// 羊场规模 - 外键
        /// </summary>
        public int? TheScaleOfSheepfarmId { get; set; }

        /// <summary>
        /// 建账日期
        /// </summary>
        public DateTime? CreateDate { get; set; }

        /// <summary>
        /// 负责人
        /// </summary>

        public string? Manager { get; set; }

        /// <summary>
        /// 详细地址
        /// </summary>

        public string? Address { get; set; }

        /// <summary>
        /// 管理部门
        /// </summary>

        public string? Department { get; set; }


        /// <summary>
        /// 创建人
        /// </summary>

        public string? Creator { get; set; }


    }
    /// <summary>
    /// 羊场管理修改Dto
    /// </summary>
    
    public class UpdateSheepfarmDto
    {
        public int SheepfarmId { get; set; }

        /// <summary>
        /// 羊场编码
        /// </summary>

        public string FarmCode { get; set; }

        /// <summary>
        /// 羊场全称
        /// </summary>

        public string FarmName { get; set; }

        /// <summary>
        /// 羊场简称
        /// </summary>

        public string FarmShortName { get; set; }

        /// <summary>
        /// 羊场规模 - 外键
        /// </summary>
        public int TheScaleOfSheepfarmId { get; set; }

        /// <summary>
        /// 建账日期
        /// </summary>
        public DateTime CreateDate { get; set; }

        /// <summary>
        /// 负责人
        /// </summary>

        public string Manager { get; set; }

        /// <summary>
        /// 详细地址
        /// </summary>

        public string Address { get; set; }

        /// <summary>
        /// 管理部门
        /// </summary>

        public string Department { get; set; }

        /// <summary>
        /// 状态 - 默认true启用
        /// </summary>
        public bool Status { get; set; } = true;

        /// <summary>
        /// 创建人
        /// </summary>

        public string Creator { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; } 

        /// <summary>
        /// 修改人
        /// </summary>

        public string Modifier { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime ModifyTime { get; set; }

        /// <summary>
        /// 删除标记 - 默认false
        /// </summary>
        public bool IsDelete { get; set; } = false;
    }

    /// <summary>
    /// 羊场信息删除数据
    /// </summary>
    public class DeleteSheepfarmDto
    {
        /// <summary>
        /// 羊场信息Id
        /// </summary>
        public int SheepfarmId { get; set; }
    }

    /// <summary>
    /// 创建栋舍管理Dto
    /// </summary>
    public class CreateBuildingManagementDto
    {

        /// <summary>
        /// 栋舍类型（外键，下拉框选择）
        /// </summary>
        public int House_typeId { get; set; }

        /// <summary>
        /// 栋舍名称
        /// </summary>
        public string House_name { get; set; }

        /// <summary>
        /// 负责人姓名
        /// </summary>
        public string Manager { get; set; }

        /// <summary>
        /// 生产相关人员
        /// </summary>
        public string Producer { get; set; }


        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; }

        /// <summary>
        /// 创建人姓名
        /// </summary>
        public string Creator { get; set; }


    }

    /// <summary>
    /// 修改栋舍管理Dto
    /// </summary>
    public class UpdateBuildingManagementDto
    {
        public int BuildingId { get; set; }

        /// <summary>
        /// 栋舍类型（外键，下拉框选择）
        /// </summary>
        public int House_typeId { get; set; }

        /// <summary>
        /// 栋舍名称
        /// </summary>
        public string House_name { get; set; }

        /// <summary>
        /// 负责人姓名
        /// </summary>
        public string Manager { get; set; }

        /// <summary>
        /// 生产相关人员
        /// </summary>
        public string Producer { get; set; }

        /// <summary>
        /// 当前状态（默认true启用）
        /// </summary>
        public bool Status { get; set; } = true;

        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; }

        /// <summary>
        /// 创建人姓名
        /// </summary>
        public string Creator { get; set; }

        /// <summary>
        /// 创建的时间
        /// </summary>
        public DateTime Create_time { get; set; }

        /// <summary>
        /// 修改人姓名
        /// </summary>
        public string Modifier { get; set; }


        /// <summary>
        /// 删除标记（默认false）
        /// </summary>
        public bool IsDelete { get; set; } = false;
    }

    /// <summary>
    /// 删除栋舍管理信息Dto
    /// </summary>
    public class DeleteBuildingManagementDto
    {
        public int BuildingId { get; set; }
    }

    /// <summary>
    /// 创建栏位管理Dto
    /// </summary>
    public class CreateField_managementDto
    {
        /// <summary>
        /// 栋舍管理外键
        /// </summary>
        public int BuildingId { get; set; }

        /// <summary>
        /// 栏位名称
        /// </summary>
        public string Field_Name { get; set; }

        /// <summary>
        /// 栏位编号前缀
        /// </summary>
        public string ?Prefix { get; set; }

        /// <summary>
        /// 栏位编号起始值
        /// </summary>
        public int ?Start_number { get; set; }

        /// <summary>
        /// 要生成的栏位数量
        /// </summary>
        public int ?Count { get; set; }

        /// <summary>
        /// 生成栏位区间（如1至N）
        /// </summary>
        public string ?Gen_range { get; set; }

    }

    /// <summary>
    /// 更新栏位管理Dto
    /// </summary>
    public class UpdateField_managementDto
    {
        public int Field { get; set; }

        /// <summary>
        /// 栋舍管理外键
        /// </summary>
        public int BuildingId { get; set; }

        /// <summary>
        /// 栏位名称
        /// </summary>
        public string Field_Name { get; set; }

        /// <summary>
        /// 栏位编号前缀
        /// </summary>
        public string Prefix { get; set; }=string.Empty;

        /// <summary>
        /// 栏位编号起始值
        /// </summary>
        public int ?Start_number { get; set; }

        /// <summary>
        /// 要生成的栏位数量
        /// </summary>
        public int ?Count { get; set; }

        /// <summary>
        /// 生成栏位区间（如1至N）
        /// </summary>
        public string ?Gen_range { get; set; }= string.Empty;

        /// <summary>
        /// 是否删除
        /// </summary>
        public bool IsDelete { get; set; } = false;
    }

    /// <summary>
    /// 删除栏位管理Dto
    /// </summary>
    public class DeleteField_managementDto
    {
        public int Field { get; set; }
    }



}
